﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace PhanCongGiangDay
{
    public partial class QuanLyGiangVien : Form
    {
        public QuanLyGiangVien()
        {
            InitializeComponent();
        }

        private void btnFind_Click(object sender, EventArgs e)
        {
            List<MGiangVien> listGV = new List<MGiangVien>();
            string idGV = txtMaGV.Text.Trim();
            if (idGV == "")
            {
                MessageBox.Show("Vui lòng nhập mã Giảng viên cần tìm!!", "Thông báo");
            }
            listGV = CGiangVien.getGVById(idGV);
            dataGridViewFindGV.AutoGenerateColumns = false;
            dataGridViewFindGV.DataSource = listGV;
        }

        private void QuanLyGiangVien_Load(object sender, EventArgs e)
        {
            cboBoMon.DataSource = CBoMon.getAll();
            cboBoMon.DisplayMember = "TENBM";
            cboBoMon.ValueMember = "MABM";   
            getAllGV();
              
        }

        private void getAllGV()
        {
            List<MGiangVien> listgv = new List<MGiangVien>();
            listgv = CGiangVien.getAllGV();
            dataGridViewGV.AutoGenerateColumns = false;
            dataGridViewGV.DataSource = listgv;
            dataGridViewGV.CurrentCell = dataGridViewGV.Rows[0].Cells[0];
        }

        private void dataGridViewGV_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;   
            string bomon = "";
            txtInfoMAGV.Text = dataGridViewGV.Rows[rowIndex].Cells[0].Value.ToString();
            txtInfoTenGV.Text = dataGridViewGV.Rows[rowIndex].Cells[1].Value.ToString();
            bomon = dataGridViewGV.Rows[rowIndex].Cells[3].Value.ToString();            
            cboBoMon.SelectedIndex =cboBoMon.FindStringExact(bomon);
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            //txtInfoMAGV.Text = ((MBoMon)cboBoMon.SelectedItem).MABM;
            if (txtInfoMAGV.Text.Trim() == "" || txtInfoTenGV.Text.Trim() == "")
            {
                MessageBox.Show("Xin vui lòng nhập đầy đủ thông tin", "Lỗi");
            }
            else
            {
                string maGV = txtInfoMAGV.Text.Trim();
                string tenGV = txtInfoTenGV.Text.Trim();
                string maBM = ((MBoMon)cboBoMon.SelectedItem).MABM;
                int kq = CGiangVien.addGV(maGV,tenGV,maBM);
                if (kq == 1)
                {
                    MessageBox.Show("Thêm thông tin giảng viên thành công !!!", "Thông báo");
                    getAllGV();
                }
                else
                {
                    MessageBox.Show("Thêm giảng viên thất bại", "Lỗi",MessageBoxButtons.OK,MessageBoxIcon.Error);
                }
            }

        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            string maGV = txtInfoMAGV.Text.Trim();
            string tenGV = txtInfoTenGV.Text.Trim();
            string maBM = ((MBoMon)cboBoMon.SelectedItem).MABM;
            int kq = CGiangVien.updateGV(maGV, tenGV, maBM);
            if (kq == 1)
            {
                MessageBox.Show("Chỉnh sửa thông tin giảng viên thành công !!!", "Thông báo");
                getAllGV();
            }
            else
            {
                MessageBox.Show("Chỉnh sửa thông tin giảng viên thất bại", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Bạn có muốn xóa thông tin giảng viên này?",
                                                "Xóa giảng viên", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (result == DialogResult.Yes)
            {
                string maGV = txtInfoMAGV.Text.Trim();
                int kq = CGiangVien.deleteGV(maGV);
                if (kq == 1)
                {
                    MessageBox.Show("Đã xóa thông tin giảng viên thành công !!!", "Thông báo");
                    getAllGV();
                }
                else
                {
                    MessageBox.Show("Xóa thông tin giảng viên thất bại", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void dataGridViewFindGV_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            string bomon = "";
            txtInfoMAGV.Text = dataGridViewFindGV.Rows[rowIndex].Cells[0].Value.ToString();
            txtInfoTenGV.Text = dataGridViewFindGV.Rows[rowIndex].Cells[1].Value.ToString();            
            List<MGiangVien> listGV  = dataGridViewFindGV.DataSource as List<MGiangVien>;
            bomon = listGV[rowIndex].TENBM;
            txtInfoMAGV.Text = bomon;
            cboBoMon.SelectedIndex = cboBoMon.FindStringExact(bomon);
        }
    }
}
